]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gschema: Introduce the 'app-picker-layout' key
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Thu, 5 Dec 2019 14:00:21 +0000 (11:00 -0300)
committerFlorian Müllner <florian.muellner@gmail.com>
Mon, 20 Jul 2020 16:13:20 +0000 (16:13 +0000)
This is the key that will be used to store the pages and the icons in
each page. The idea is that we we store an a{sv} variant for each page.
This variant will contain <icon id> → array of properties, where we
can store arbitrary data for each icon. The expected output of this
key is:

[
  {
    'polari.desktop': <{ 'position': 0 }>,
    'epiphany.deskop': <{ 'position': 1 }>,
  },
  {
    'telegram.desktop': <{ 'position': 2 }>,
    'builder.desktop': <{ 'position': 0 }>,
    'gitg.desktop': <{ 'position': 1 }>,
  }
]

The toplevel array is sorted, and pages of the grid always show in the
order they are stored.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284

data/org.gnome.shell.gschema.xml.in

index 49d38d7662892e862a3e03cb5e21bb9bcdd92465..6eacfa5680d399e9a01bc9c56ad95aeb373210d4 100644 (file)
         the shell.
       </description>
     </key>
+    <key name="app-picker-layout" type="aa{sv}">
+      <default>[]</default>
+      <summary>Layout of the app picker</summary>
+      <description>
+        Layout of the app picker. Each entry in the array is a page. Pages are
+        stored in the order they appear in GNOME Shell. Each page contains an
+        “application id” → 'data' pair. Currently, the following values are
+        stored as 'data':
+          • “position”: the position of the application icon in the page
+      </description>
+    </key>
     <child name="keybindings" schema="org.gnome.shell.keybindings"/>
   </schema>